package cn.icare.cms;

import cn.icare.cms.dao.po.Area;
import cn.icare.cms.dao.po.MemberCoupon;
import cn.icare.cms.model.ro.AddAreaRO;
import cn.icare.cms.model.ro.AddMemberCouponRO;
import cn.icare.cms.model.ro.EditAreaRO;
import cn.icare.cms.model.vo.rest.MsgDatasVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface MemberCouponService {
    Integer createOne(MemberCoupon ro);

    boolean updateStatus(Integer id,Integer status);

    /**
     * 会员优惠券列表接口
     * @param memberId
     * @param status
     * @return
     */
    MsgDatasVO getList(Long memberId,Integer status);

    /**
     * 查询会员的优惠券是否可用及详情信息
     * @param memberId
     * @param couponId
     * @return
     */
    Map<String,Object> getMemberCouponOne(Long memberId, Integer couponId);


    /**
     * 获取订单可用或不可用的会员优惠券列表接口
     * @param memberId 会员Id
     * @param type 0-不可用 1-可用
     * @param amount 订单金额
     * @return
     */
    MsgDatasVO getListByOrderAmount(Long memberId, Integer type, BigDecimal amount);

    /**
     * 判断会员是否有该优惠券
     * @param memberId
     * @param couponId
     * @return
     */
    boolean exists(Long memberId, Integer couponId);
}
